package com.imooc.netty.websocket;

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import org.springframework.stereotype.Component;

@Component
public class WSServer {

    public static class SingletionWSServer{

        static final WSServer instance = new WSServer();

        public static WSServer getInstance(){
            return SingletionWSServer.instance;
        }
    }

    private  EventLoopGroup mainGroup;
    private  EventLoopGroup subGroup;
    private  ServerBootstrap server;
    private  ChannelFuture future;

    private WSServer(){
        mainGroup = new NioEventLoopGroup();
        subGroup = new NioEventLoopGroup();
        server = new ServerBootstrap();
        server.group(mainGroup, subGroup).channel(NioServerSocketChannel.class).childHandler(new WSServerInitalzer());

    }

    public void start(){
        future = server.bind(8088);
        System.out.println("netty websocket server 启动成功");
    }

}
